package config

import "github.com/Sir-yuChen/funAnalyse/config/casbin"

type Server struct {
	System System `mapstructure:"system" json:"system" yaml:"system"`
	Zap    Zap    `mapstructure:"zap" json:"zap" yaml:"zap"`
	// gorm
	Mysql  Mysql           `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
	DBList []SpecializedDB `mapstructure:"db-list" json:"db-list" yaml:"db-list"`
	// jwt
	JWT    JWT           `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
	Casbin casbin.Casbin `mapstructure:"sysCasbin" json:"sysCasbin" yaml:"sysCasbin"`

	Redis Redis `mapstructure:"redisEnums" json:"redisEnums" yaml:"redisEnums"`
	// 跨域配置
	Cors CORS `mapstructure:"cors" json:"cors" yaml:"cors"`
	//模板相关
	Tpl Tpl `mapstructure:"tpl" json:"tpl" yaml:"tpl"`
	//文件配置
	File FileConfig `mapstructure:"file" json:"file" yaml:"file"`
	//mq
	RabbitMqConfig RabbitMqConfig `mapstructure:"rabbitMq" json:"rabbitMq" yaml:"rabbitMq"`
	//kafka
	KafkaConfig KafkaConfig `mapstructure:"kafka" json:"kafka" yaml:"kafka"`
	//mongoDB
	MongoDB MongoDB `mapstructure:"mongoDB" json:"mongoDB" yaml:"mongoDB"`
}
